﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class МеждународныйУчет
	{
		// Служебная функция, предназначенная для установки соответствий аналитики бух. и медж. планов счетов
		// Используется в УстановитьСоответствие
		//

		public object ЗаполнитьСтруктуру(/*Знач Выборка, СчетБУ, Субконто1 = Неопределено, Субконто2 = Неопределено, Субконто3 = Неопределено*/)
		{
			//Структура = Новый Структура("Счет, Субконто1, Субконто2, Субконто3, СтруктураСчетов");
			//Структура.Счет  = Выборка.СчетМеждународный;
			//Структура.Субконто1 = Неопределено;
			//Структура.Субконто2 = Неопределено;
			//Структура.Субконто3 = Неопределено;
			//Структура.СтруктураСчетов = Неопределено;
			/*//Заполняем субконто
*/
			return null;
		}
		// Возрващает список пустых значений для заданного плана видов характеристик
		//
		// Параметры
		//  ВидыСубконто  – ПланВидовХарактеристикСсылка – план видов характеристик
		//
		// Возвращаемое значение:
		//   СписокЗначений
		//

		public object ПолучитьСписокПустыхСубконто(/*ВидыСубконто*/)
		{
			//сзПустыеСубконто = Новый СписокЗначений;
			//ВыборкаСубконто = ВидыСубконто.Выбрать();
			while(true/*ВыборкаСубконто.Следующий()*/)
			{
				//сзПустыеСубконто.Добавить(ВыборкаСубконто.ТипЗначения.ПривестиЗначение());
			}
			/*;
	
	сзПустыеСубконто.Добавить(Неопределено);*/
			return null;
		}
		// ПолучитьСписокПустыхСубконто()
		// Функция возвразает структуру, состоящую из счета и трех субконт международного плана счетов,
		// соответствующих хозрасчетным, переданным как параметры функции
		// Например: ПреобразоватьСчетаБУвСчетМСФО(СчетБУ, Субконто1, Субконто2, Субконто3).Счет

		public object ПреобразоватьСчетаБУвСчетМСФО(/*СчетБУ, Субконто1 = Неопределено, Субконто2 = Неопределено, Субконто3 = Неопределено, Знач ДатаСреза = Неопределено, ПолучитьВсеСоответствия = Ложь*/)
		{
			//Структура = Неопределено;
			//СтруктураСчетов = Новый Структура();
			if(true/*ДатаСреза = Неопределено*/)
			{
				//ДатаСреза = ОбщегоНазначения.ПолучитьРабочуюДату();
			}
			//Запрос = Новый Запрос;
			/*Запрос.Текст = "ВЫБРАТЬ
	               |	СоответствиеСчетовСрезПоследних.СчетМеждународный КАК СчетМеждународный,
	               |	СоответствиеСчетовСрезПоследних.СубконтоМежд1 КАК СубконтоМежд1,
	               |	СоответствиеСчетовСрезПоследних.СубконтоМежд2 КАК СубконтоМежд2,
	               |	СоответствиеСчетовСрезПоследних.СубконтоМежд3 КАК СубконтоМежд3,
	               |	СоответствиеСчетовСрезПоследних.Реквизит КАК Реквизит,
	               |	СоответствиеСчетовСрезПоследних.Значение КАК Значение
	               |ИЗ
	               |	РегистрСведений.СоответствиеСчетовБУиМСФО.СрезПоследних(&ДатаСреза, СчетХозрасчетный В ИЕРАРХИИ(&СчетБУ)) КАК СоответствиеСчетовСрезПоследних
	               |
	               |ГДЕ
				   |	(СоответствиеСчетовСрезПоследних.Учитывается) И
	               |	((СоответствиеСчетовСрезПоследних.СчетМеждународный) ЕСТЬ НЕ NULL ) И
	               |	(СоответствиеСчетовСрезПоследних.СубконтоХозр1 В (&ПустоеСубконто) ИЛИ СоответствиеСчетовСрезПоследних.СубконтоХозр1 = &Субконто1 ИЛИ СоответствиеСчетовСрезПоследних.СубконтоХозр1 = &Субконто2 ИЛИ СоответствиеСчетовСрезПоследних.СубконтоХозр1 = &Субконто3) И
	               |	(СоответствиеСчетовСрезПоследних.СубконтоХозр2 В (&ПустоеСубконто) ИЛИ СоответствиеСчетовСрезПоследних.СубконтоХозр2 = &Субконто1 ИЛИ СоответствиеСчетовСрезПоследних.СубконтоХозр2 = &Субконто2 ИЛИ СоответствиеСчетовСрезПоследних.СубконтоХозр2 = &Субконто3) И
	               |	(СоответствиеСчетовСрезПоследних.СубконтоХозр3 В (&ПустоеСубконто) ИЛИ СоответствиеСчетовСрезПоследних.СубконтоХозр3 = &Субконто1 ИЛИ СоответствиеСчетовСрезПоследних.СубконтоХозр3 = &Субконто2 ИЛИ СоответствиеСчетовСрезПоследних.СубконтоХозр3 = &Субконто3)
	               |
	               |УПОРЯДОЧИТЬ ПО
	               |	СоответствиеСчетовСрезПоследних.Приоритет";*/
			//Запрос.УстановитьПараметр("ДатаСреза", ДатаСреза);
			//Запрос.УстановитьПараметр("СчетБУ", СчетБУ);
			//Запрос.УстановитьПараметр("ПустоеСубконто", ПолучитьСписокПустыхСубконто(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные));
			//Запрос.УстановитьПараметр("Субконто1", Субконто1);
			//Запрос.УстановитьПараметр("Субконто2", Субконто2);
			//Запрос.УстановитьПараметр("Субконто3", Субконто3);
			//Результат = Запрос.Выполнить();
			//Выборка = Результат.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//СтруктураСчетов.Вставить("Код"+Выборка.СчетМеждународный.Код, Выборка.СчетМеждународный);
				if(true/*НЕ ЗначениеЗаполнено(Выборка.Реквизит)*/)
				{
					if(true/*Структура = Неопределено*/)
					{
						//Структура = ЗаполнитьСтруктуру(Выборка, СчетБУ, Субконто1, Субконто2, Субконто3);
						if(true/*НЕ ПолучитьВсеСоответствия*/)
						{
						}
					}
				}
			}
			if(true/*Структура = Неопределено*/)
			{
				//Структура = Новый Структура("Счет, Субконто1, Субконто2, Субконто3, СтруктураСчетов", Неопределено, Неопределено, Неопределено, Неопределено);
			}
			//Структура.Вставить("СтруктураСчетов", СтруктураСчетов);
			return null;
		}
	}
}
